/**
 *
 */
function singleNumber(numbers){
   return  numbers.map((item, index, arr) => arr.lastIndex(item) !== index)
}

// console.log(singleNumber([1, 1, 2, 2, 3, 3, 4, 4, 5]));



function singleNumV2(nums){
    nums.sort((a, b) => a -b)
    // 每次只取偶数， 然后和奇数进行比较， 如果相邻的两个不是一样的， 就返回当前的一个。
    for(let i=0; i<nums.length; i+=2) {
        if(nums[i] !== nums[i+1]){
            return nums[i]
        }
    }
}

// console.log(singleNumV2([1, 1, 2, 2, 3, 3, 4, 4, 5]));



function singleNumberV3(nums) {
    let num = nums[0]
    for(let item of nums) {
        num ^= item
    }
    return num
}

console.log(singleNumberV3([1, 1, 2, 2, 3, 3, 4, 4, 5]))




